package com.zj.leetcode.medium.dynamicProgramming;

/**
 * @program: algorithm
 * @description: 打家劫舍
 * 198 house-robber
 * @author: Zhang Bo
 * @create: 2022-01-14 17:05
 **/
public class HouseRobber {
    public static void main(String[] args) {
        Solution solution = new HouseRobber().new Solution();
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {

        public int rob(int[] nums) {
            if (nums == null || nums.length == 0) {
                return 0;
            }
            int length = nums.length;
            if (length == 1) {
                return nums[0];
            }
            int[] dp = new int[length];
            dp[0] = nums[0];
            dp[1] = Math.max(nums[0], nums[1]);
            for (int i = 2; i < length; i++) {
                dp[i] = Math.max(dp[i - 2] + nums[i], dp[i - 1]);
            }
            return dp[length - 1];
        }

    }
//leetcode submit region end(Prohibit modification and deletion)

}
